package j04zuoye;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;

public class J1 {
}
/*
1，去空格
有一个字符串"   我 是 华 蓝 人, 我 爱 华 蓝!   ", 编写代码去除字符串两端的空格。
注意，不要去除中间的空格。
 */
class J1Space{
    public static void main(String[] args) {
        System.out.println(trim2("   我 是 华 蓝 人, 我 爱 华 蓝!   "));
        System.out.println(trim2("我 是 华 蓝 人, 我 爱 华 蓝!   "));
        System.out.println(trim2("   我 是 华 蓝 人, 我 爱 华 蓝!"));
        System.out.println(trim2("我 是 华 蓝 人, 我 爱 华 蓝!"));
        System.out.println(trim2("         "));
        System.out.println(trim2(""));
    }

    /**
     * 去除空格
     * @param s 参数，输入的字符串
     * @return 返回处理后的结果
     */
    public static String trim2(String s) {
        //空字符串
        if(s.length()==0)return "";
        //非空字符串
        int start=-1;
        int end=s.length()-1;
        for (int i = 0; i <= s.length()-1; i++) {
            char c = s.charAt(i);
            if(c!=' '){
                //找到非空字符
                start = i;
                break;
            }
        }
        if(start==-1){
            //全空
            return "";
        }
        //左边正常start有值，有非空
        for (int i = s.length()-1; i >= -1; i--) {
            char c = s.charAt(i);
            if(c!=' '){
                //找到非空字符
                end = i;
                break;
            }
        }

        return s.substring(start,end+1);
    }
}
/*
2，流测试
在com.hualan.main包里创建一个StreamTest类，在类的main方法中测试下面的功能：
（1）过滤字符串：给定一个字符串列表，过滤掉长度小于等于5的字符串，并将结果按照字母顺序排序。
列表内容: [ "orange", "grape","apple", "banana", "kiwi", "pear", "watermelon"]
过滤后的列表内容: ["banana", "watermelon"]
 */
class J2{
    public static void main(String[] args) {
        List<String> l1 = new ArrayList<>();
        Stream.of("orange", "grape","apple", "banana", "kiwi", "pear", "watermelon")
                .filter(el->el.length()>5)
                .forEach(el->l1.add(el));
        System.out.println("l1 = " + l1);
        Collections.sort(l1,(s1,s2)->s1.compareTo(s2));
        System.out.println("l1 = " + l1);
    }
}